ZGlmZiAtLWdpdCBhL2JvYXJkL3RyYWIvdHNjMjAwMC5jIGIvYm9hcmQvdHJhYi90c2MyMDAwLmMKaW5kZXggZGYyZDg3Zi4uY2E2ODY4MiAxMDA2NDQKLS0tIGEvYm9hcmQvdHJhYi90c2MyMDAwLmMKKysrIGIvYm9hcmQvdHJhYi90c2MyMDAwLmMKQEAgLTMxLDYgKzMxLDE2IEBACiAKICNpbmNsdWRlICJQdDEwMDBfdGVtcF9kYXRhLmgiCiAKKy8qIGhlbHBlciBmdW5jdGlvbiAqLworI2RlZmluZSBhYnModmFsdWUpICgoKHZhbHVlKSA8IDApID8gKCh2YWx1ZSkqLTEpIDogKHZhbHVlKSkKKworLyoKKyAqIE1heGltYWwgYWxsb3dlZCBkZXZpYXRpb24gYmV0d2VlbiB0d28gaW1tZWRpYXRlIG1lYXNzdXJtZW50cyBvZiBhbiBhbmFsb2cKKyAqIHRoZXJtbyBjaGFubmVsLiAxIERJR0lUID0gMC4wMjc2ILBDLiBUaGlzIGlzIHVzZWQgdG8gZmlsdGVyIHNwb3JhZGljCisgKiAianVtcHMiIGluIG1lYXN1cm1lbnQuCisgKi8KKyNkZWZpbmUgTUFYX0RFVklBVElPTgkxOAkvKiB1bml0OiBESUdJVHMgb2YgYWRjOyAxOCBESUdJVCA9IDAuNSCwQyAqLworCiB2b2lkIHNwaV9pbml0KHZvaWQpCiB7CiAJUzNDMjRYMF9HUElPICogY29uc3QgZ3BpbyA9IFMzQzI0WDBfR2V0QmFzZV9HUElPKCk7CkBAIC0yMjcsMTUgKzIzNyw0OCBAQAogCWxvbmcgYWRjX3B0MTAwMCwgb2Zmc2V0OwogCWxvbmcgdV9wdDEwMDA7CiAJbG9uZyBjb250YWN0X3RlbXA7Ci0KKwlsb25nIHRlbXAxLCB0ZW1wMjsKIAogCXRzYzIwMDBfcmVnX2luaXQgKCk7CiAJdHNjMjAwMF9zZXRfcmFuZ2UgKDMpOwogCi0JYWRjX3B0MTAwMCA9IHRzYzIwMDBfcmVhZF9jaGFubmVsICgxNCk7CisJLyoKKwkgKiBCZWNhdXNlIG9mIHNwb3JhZGljICJqdW1wcyIgaW4gdGhlIG1lYXN1cmVkIGFkYyB2YWx1ZXMgZXZlcnkKKwkgKiBjaGFubmVsIGlzIHJlYWQgdHdvIHRpbWVzLiBJZiB0aGVyZSBpcyBhIHNpZ25pZmljYW50IGRpZmZlcmVuY2UKKwkgKiBiZXR3ZWVuIHRoZSB0d28gbWVhc3VyZW1lbnRzLCB0aGVuIHByaW50IGFuIGVycm9yIGFuZCBkbyBhIHRoaXJkCisJICogbWVhc3VyZW1lbnQsIGJlY2F1c2UgaXQgaXMgdmVyeSB1bmxpa2VseSB0aGF0IGEgc3VjY2Vzc2l2ZSB0aGlyZAorCSAqIG1lYXN1cmVtZW50IGdvZXMgYWxzbyB3cm9uZy4KKwkgKi8KKwl0ZW1wMSA9IHRzYzIwMDBfcmVhZF9jaGFubmVsICgxNCk7CisJdGVtcDIgPSB0c2MyMDAwX3JlYWRfY2hhbm5lbCAoMTQpOworCWlmIChhYnModGVtcDIgLSB0ZW1wMSkgPCBNQVhfREVWSUFUSU9OKQorCQlhZGNfcHQxMDAwID0gdGVtcDI7CisJZWxzZSB7CisJCXByaW50ZiAoIiVzOiByZWFkIGFkYyB2YWx1ZSAoY2hhbm5lbCAxNCkgZXhjZWVkZWQgbWF4IGFsbG93ZWQgIgorCQkJImRldmlhdGlvbjogJWQgKiAwLjAyNzYgsENcbiIsCisJCQlfX0ZVTkNUSU9OX18sIE1BWF9ERVZJQVRJT04pOworCQlwcmludGYgKCJhZGMgdmFsdWUgMTogJWxkIERJR0lUc1xuYWRjIHZhbHVlIDI6ICVsZCBESUdJVHNcbiIsCisJCQl0ZW1wMSwgdGVtcDIpOworCQlhZGNfcHQxMDAwID0gdHNjMjAwMF9yZWFkX2NoYW5uZWwgKDE0KTsKKwkJcHJpbnRmICgidXNlICh0aGlyZCByZWFkKSBhZGMgdmFsdWU6IGFkY19wdDEwMDAgPSAiCisJCQkiJWxkIERJR0lUc1xuIiwJYWRjX3B0MTAwMCk7CisJfQogCWRlYnVnICgicmVhZCBjaGFubmVsIDE0IChwdDEwMDAgYWRjIHZhbHVlKTogJWxkXG4iLCBhZGNfcHQxMDAwKTsKIAotCW9mZnNldCA9IHRzYzIwMDBfcmVhZF9jaGFubmVsICgxNSk7CisJdGVtcDEgPSB0c2MyMDAwX3JlYWRfY2hhbm5lbCAoMTUpOworCXRlbXAyID0gdHNjMjAwMF9yZWFkX2NoYW5uZWwgKDE1KTsKKwlpZiAoYWJzKHRlbXAyIC0gdGVtcDEpIDwgTUFYX0RFVklBVElPTikKKwkJb2Zmc2V0ID0gdGVtcDI7CisJZWxzZSB7CisJCXByaW50ZiAoIiVzOiByZWFkIGFkYyB2YWx1ZSAoY2hhbm5lbCAxNSkgZXhjZWVkZWQgbWF4IGFsbG93ZWQgIgorCQkJImRldmlhdGlvbjogJWQgKiAwLjAyNzYgsENcbiIsCisJCQlfX0ZVTkNUSU9OX18sIE1BWF9ERVZJQVRJT04pOworCQlwcmludGYgKCJhZGMgdmFsdWUgMTogJWxkIERJR0lUc1xuYWRjIHZhbHVlIDI6ICVsZCBESUdJVHNcbiIsCisJCQl0ZW1wMSwgdGVtcDIpOworCQlvZmZzZXQgPSB0c2MyMDAwX3JlYWRfY2hhbm5lbCAoMTUpOworCQlwcmludGYgKCJ1c2UgKHRoaXJkIHJlYWQpIGFkYyB2YWx1ZTogb2Zmc2V0ID0gJWxkIERJR0lUc1xuIiwKKwkJCW9mZnNldCk7CisJfQogCWRlYnVnICgicmVhZCBjaGFubmVsIDE1IChvZmZzZXQpOiAlbGRcbiIsIG9mZnNldCk7CiAKIAkvKgo=